package testSocketUDP.viejo;

import java.io.IOException;
import java.net.UnknownHostException;

import utiles.Ip;
import actualizador.Datagrama;
import actualizador.DatoEquipo;
import actualizador.Mensaje;

public class TestClienteUDP extends Thread{
	private String ipServidor;
	private static int TIMEOUT= 10000;
	private int nroMsg= 0;
	private DatoEquipo ipCliente;

	public TestClienteUDP(String ipCliente, String ipServidor) {
		this.ipServidor= ipServidor;

		if(ipCliente!=null)
			this.ipCliente= new DatoEquipo(ipCliente);
		else{
			try {
				ipCliente= Ip.getIpV4();
			} catch (UnknownHostException e1) {
				e1.printStackTrace();
			}
		}
	}

	@Override
	public void run() {
		System.out.println("Ip del servidor a utilizar: "+ipServidor+". Ip del cliente: "+ipCliente);
		try {
			Datagrama dg= new Datagrama();

			Mensaje m= new Mensaje(nroMsg, ipCliente, "Hola");

			try {
				System.out.println("Mensaje a enviar: "+m);
				dg.enviarMensaje(ipServidor, m);

				m= (Mensaje) dg.recibirMensaje(TIMEOUT);

				System.out.println("Respuesta recibida: "+m);
			} catch (ClassNotFoundException e) {
				e.printStackTrace();
			} catch (IOException e) {
				e.printStackTrace();
			}

			System.out.println("Fin Cliente");
		} catch (SecurityException e) {
			e.printStackTrace();
		}
	}

	public static void main(String[] args) {
		TestClienteUDP cli= new TestClienteUDP("10.12.9.20", "10.12.6.10");
		cli.start();
	}

}
